import React, { Component } from 'react'

// #2 儿子如果是类组件，通过 this.props 接收
export default class Child extends Component {
  constructor(props) {
    super(props)
    // 如果想在这儿使用 this.props，就应该接收 props 并传递给 super 函数
    console.log(this.props.age, '~~~~')
    console.log(this.props === props, '~~~~')
  }
  /* constructor(...args) {
    super(...args)
    // 如果想在这儿使用 this.props，就应该接收 props 并传递给 super 函数
    console.log(this.props.age, '~~~~')
    console.log(this.props === args[0], '~~~~')
  } */
  handleClick = () => {
    // 不能修改
    this.props.salary = 888
  }
  render() {
    return (
      <div>
        <p>Child: {this.props.salary}</p>
        <p>age: {typeof this.props.age}</p>
        {this.props.jsx}
        <button onClick={this.handleClick}>改</button>
        <button onClick={this.props.fn}>调用父亲的函数</button>
        <button onClick={() => this.props.fn(888)}>调用父亲的函数</button>
      </div>
    )
  }
}
